update sources to support OpenSSL 4
authorDebian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Wed, 29 Jul 2026 08:26:16 +0000 (11:26 +0300)
committerDmitry Shachnev <mitya57@debian.org>
Wed, 29 Jul 2026 08:26:16 +0000 (11:26 +0300)
commite0cac7987003574122aaff0d3b456fba1d370d27
treee9aae9bf5691aa18b3079bf014e6f0954fd6a03b
parent408ad1f1f2864cafdeef36eb41be53ff1967c7ca
update sources to support OpenSSL 4

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=e806630e694d89f5
Last-Update: 2026-06-10

OpenSSL 4 now uses const in logical cases across its X.509 API; this
patch updates Qt's TLS backend to compile against both 3.x and 4.x.

To do this QT_OPENSSL4_CONST macro (expands to `const` on OpenSSL >= 4,
empty otherwise) is introduced for functions which changed in OpenSSL 4.

There were pre-existing functions that were already const in OpenSSL 3
but were declared without const in Qt's wrapper layer - they have now
been fixed with plain const.

ASN1_STRING was made opaque in OpenSSL 4, so replace direct access with
use of accessor functions through the wrappers.

Gbp-Pq: Name openssl4.diff
src/network/ssl/qsslcertificate_openssl.cpp
src/network/ssl/qsslcertificate_p.h
src/network/ssl/qsslsocket_openssl_p.h
src/network/ssl/qsslsocket_openssl_symbols.cpp
src/network/ssl/qsslsocket_openssl_symbols_p.h